package com.da.javatest.leetCode2;

import java.util.ArrayList;
import java.util.List;

public class Code203 {
//    private List<Integer> list = new ArrayList<>();
//
//    public ListNode removeElements(ListNode head, int val) {
//        getList(head, val);
//        if (list.isEmpty()) {
//            return null;
//        }
//        ListNode listNode = new ListNode(list.get(0));
//        getNode(listNode, 1);
//        return listNode;
//    }
//
//    private void getList(ListNode node, int val) {
//        if (node != null) {
//            if (node.val != val) {
//                list.add(node.val);
//            }
//            getList(node.next, val);
//        }
//    }
//
//    private void getNode(ListNode node, int index) {
//        if (index < list.size()) {
//            node.next = new ListNode(list.get(index));
//            getNode(node.next, index + 1);
//        }
//    }
    public ListNode removeElements(ListNode head, int val) {
        ListNode header = new ListNode(-1);
        header.next = head;
        ListNode cur = header;
        while (cur.next != null) {
            if (cur.next.val == val) {
                cur.next = cur.next.next;
            } else {
                cur = cur.next;
            }
        }
        return header.next;
    }

}
